EndSessionDialog.init();
// We're ready for the session manager to move to the next phase
- Meta.register_with_session();
+ GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
+ Shell.util_sd_notify();
+ Meta.register_with_session();
+ return GLib.SOURCE_REMOVE;
+ });
_startDate = new Date();
#include "shell-perf-log.h"
#include "st.h"
-#ifdef HAVE_SYSTEMD
-#include <systemd/sd-daemon.h>
-#else
-/* So we don't need to add ifdef's everywhere */
-#define sd_notify(u, m) do {} while (0)
-#define sd_notifyf(u, m, ...) do {} while (0)
-#endif
-
extern GType gnome_shell_plugin_get_type (void);
#define SHELL_DBUS_SERVICE "org.gnome.Shell"
shell_init_debug (g_getenv ("SHELL_DEBUG"));
shell_dbus_init (meta_get_replace_current_wm ());
- /* We only use NOTIFY_SOCKET exactly once; unset it so it doesn't remain in
- * our environment. */
- sd_notify (1, "READY=1");
shell_a11y_init ();
shell_perf_log_init ();
shell_introspection_init ();
#include <langinfo.h>
#endif
+#ifdef HAVE_SYSTEMD
+#include <systemd/sd-daemon.h>
+#else
+/* So we don't need to add ifdef's everywhere */
+#define sd_notify(u, m) do {} while (0)
+#define sd_notifyf(u, m, ...) do {} while (0)
+#endif
+
static void
stop_pick (ClutterActor *actor,
const ClutterColor *color)
{
return shell_util_systemd_call ("StopUnit", unit, mode, error);
}
+
+void
+shell_util_sd_notify (void)
+{
+ /* We only use NOTIFY_SOCKET exactly once; unset it so it doesn't remain in
+ * our environment. */
+ sd_notify (1, "READY=1");
+}
const char *mode,
GError **error);
+void shell_util_sd_notify (void);
+
G_END_DECLS
#endif /* __SHELL_UTIL_H__ */